// 机智的外卖员, 由于楼层比较高, 所以得放弃dfs
// 使用动规, 从低楼层开始, 一直到目的地楼层(假定是往高出送) 虽然题目没有明书
// 计算奇数楼层和偶数楼层的递归方案
const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let n,m;
rl.on("line", (line)=>{
    if(n === undefined) {
        [n, m] = line.trim().split(" ").map(Number)
        console.log(getResult(n, m))

        // clear
        n = m = undefined
    }
})

/**
 *
 * @param n {number} 当前楼层
 * @param m {number} 目的地楼层
 * @return 返回步骤数
 */
function getResult(n, m) {
    let dp = new Array(m + 1).fill(Infinity) // 到dp[i] 需要的步骤数

    // 1 - n 楼
    for (let i = 0; i <= n ; i++) {
        dp[i] = n - i
    }

    for (let i = n + 1; i <= m ; i++) {
        if(i % 2 === 1) { // 奇
            dp[i] = Math.min(dp[i - 1] + 1,  dp[(i - 1)/2] + 2)
        } else { // 偶
            dp[i] = Math.min(dp[i - 1] + 1,  dp[i/2] + 1)
        }
    }

    return dp[m]
}